ByteByteGo logo
ByteByteGo logo

Chapter 10: Good Resume Template Principles

Before choosing a resume template, it’s important to understand what principles make for a good template. A good template is one that will help with the goal that you had writing a resume: conveying the information that you intended to communicate in a way that the recruiter or hiring manager can quickly understand.

In a world where a recruiter receives one application to review per day, resume templates wouldn’t matter. In fact, most of this guide would be of little use. The recruiter would take their time, read the whole resume, and probably still give you a call to find out if there is any way you’d be qualified for the position. I mean, you are one of the very few applicants!

However, in reality, recruiters and hiring managers often have dozens or hundreds of resumes to go through. They become really efficient at doing so. If a resume proves to be too much work to find key pieces of information, then it’s down to luck if they will take this time, or just move to the next one.

Good resume templates are made tailored for recruiters and hiring managers—not for job seekers. It makes the job of these recruiters and hiring managers in finding key pieces of information as effortless as possible.

From the inside out: why popular resume template sites don’t necessarily work for software developers

There are several popular resume template sites that promise to build you a “stunning” or “standout” resume for each industry: whether you are in finance, are a freelancer, in legal, and dozens of other categories. These resumes are often eye-catching, pretty, and give you ideas you’ve not thought of before. Visualizing how you spend your time? Listing what you are proud of? A novel design that is beautiful and unusual?

The catch is that these sites optimize to convert you, the job seeker, to pay them money. They help create resumes that you will feel good about. As a candidate, you will feel that you have represented your standout experience with a standout resume. They also guide you in writing down your experience in a structured way—but they do not do this targeted for developers. Take a look at one of the popular resume template sites, EnhanCV, and their value proposition:

Image represents a tech resume template showcasing its features alongside a sample resume for Hannah Mills.  On the left, five key features are listed with icons: 'Memorable Design' (a magic wand icon) describes a template with thousands of customizable options; 'No learning curve' (a rocket icon) highlights ease of use; 'Content Analyzer' (a document icon) indicates a feature to optimize content; 'Improve with feedback' (a speech bubble icon) promises iterative improvement; and 'Professional, yet personal' (a smiley face icon) emphasizes the balance of formality and personality.  'Tailor your application' (a ruler and pencil icon) suggests customization. To the right, a sample resume displays Hannah Mills' contact information, a professional headshot, a 'Life Philosophy' section quoting Muhammad Ali, and an 'Experience' section detailing her roles at Altalife Limited, Sunrise HLP, and C Lab Services, each with dates, locations, and bullet points describing responsibilities.  An 'Industry Expertise' section shows her skills in Project Management, Organization, Operations, and Leadership using a bar graph. A 'Most Proud Of' section highlights achievements in record project delivery, mentoring, and tackling challenges.  A 'My Time' section uses a pie chart to illustrate time allocation. Finally, a 'Tech Stack' section lists various technologies (Zoho Sprints, UserVoice, Intercom, etc.) she's proficient in.  Five colored circles, visually connecting to the experience section, likely represent different projects or roles.  The overall arrangement is clean and visually appealing, demonstrating the template's features through a practical example.
The EnhanCV value proposition. This kind of flashy template is a poor choice for software engineers or engineering managers.

These “standout” resume templates are usually a poor choice for software developers. Even for sites that have a software engineer template, this template was more likely put together by a designer than a technical recruiter. The resumes are usually harder to read for recruiters and hiring managers. As a hiring manager, I find they incentivize sharing fewer specifics and more buzzwords. If going for a resume template or resume builder, aim to go with sites that avoid flashy design, and have a track record of success for software developers.

Good Resume Template Layout and Principles

A good resume template is easy to read. They are easy to read because they follow common conventions that people are used to. Things that people are used to when reading nonfiction are these:

  • Top to bottom reading. We start at the top and make our way downwards. This is how we read books and magazines.
  • Important things first, less important things towards the end. Good nonfiction reading materials start with an introduction that sets the context and often explains the chapters to come. For a resume, in a somewhat similar fashion, the most relevant things should be towards the top, with the less relevant things on the later pages.
  • Strategic use of colors and bolding. Bolding can draw attention. Colors can also pull your attention. Use both of these in a strategic way to guide the reader on things that you’d like to stand out.

From the inside out: what direction do recruiters and hiring managers read resumes?

Every hiring manager, and tech recruiter I’ve talked with read resumes top to bottom. This includes myself. It’s not just a habit: it’s also a recommendation. One of the most hands-on hiring manager guide in tech is the book Hiring Geeks that Fit. Here author Johanna Rothman suggests the same:

“Start reading each resume at the top. I read résumés by starting at the top, and work my way down to the final line. (...) Seeing what a candidate thinks are his or her strong points can tell you a lot about the candidate. (...) As I read, I make a mental note that I later will compare with the actual job’s requirements in each of the following areas: work experience, position objective, strengths, education, and professional training. I use items in the résumé to include candidates, and only use items to exclude candidates if the items match my elimination criteria.”

Let’s look at the two most popular layouts, and how they help with these principles.

The Top-Down Layout

The format that all recruiters in tech will be vastly familiar with is the LinkedIn profile format. They read profiles like this day in, day out. Here’s what the LinkedIn profile layout looks like when recruiters view candidates:

Image represents a template for a tech resume, displayed on a solid light-blue background.  At the top, a gray placeholder icon representing a person is positioned to the left of a text input field labeled 'Name, details'. Below this, a text input field is labeled 'Summary'.  Further down, a section titled 'Work Experience' contains three consecutive, identical, empty text input fields, presumably for listing multiple work experiences.  Following this, there are individual text input fields for 'Education', 'Projects', 'Skills & Expertise', and 'Honors & Awards', each stacked vertically below the previous one.  All text input fields are rectangular with light-gray backgrounds and light-blue borders, suggesting areas to be filled with relevant information. The overall arrangement is linear and sequential, guiding the user to fill in personal information, followed by professional experience and achievements.  No URLs or parameters are visible.

Resume templates that follow this format in their layout are a safe bet. Do keep in mind that LinkedIn follows a generic format for resumes. For software developers, languages & technologies are especially important. This is something that LinkedIn won’t place emphasis on, but you should, in your resume. An adjusted format that works better for developers, yet be familiar in layout for recruiters is this one:

Image represents a template for a tech resume, structured as a vertically stacked, rectangular blue form.  The topmost section is labeled 'Name, details,' followed by 'Summary,' 'Languages & Technologies,' and a 'Work Experience' section containing three horizontally aligned, empty input fields suggesting multiple entries.  Below this are sections for 'Education,' 'Projects,' and finally, 'Interests / Honors & Awards,' each represented by a single empty input field.  To the right of the form, a grey arrow points downwards from the words 'Read: top to bottom,' indicating the intended reading order of the resume's content, from top to bottom.

Top-down layouts work well for multi-page resumes as well. The only possible downside of this format is that it seemingly does not maximize the space on a page as efficiently as a multi-column layout. Still, given how familiar and easy to read this format is, there is little reason not to use it for your resume.

Two-Column Layouts

Another popular layout is a two-column one. The goal of this layout is to maximize space for one-page resumes. Here’s how a layout could look:

Image represents a template for a tech resume, structured as a grid within a larger blue border.  The top row contains two sections: a left section showing a grey person icon labeled 'Summary,' and a right section labeled 'Contact.' Below this, the resume is divided into two columns. The left column is labeled 'Relevant Skills' and is a large empty space for listing skills. The right column contains the 'Work Experience' section, which features three horizontally stacked, empty rectangular boxes, presumably for detailing past work experiences.  Below the 'Work Experience' section is an 'Education' section, another large empty space for educational details.  A grey arrow and text to the right of the main resume grid indicates the reading order: top to bottom, and left to right.

While this template seemingly does maximize space, it does this at the expense of readability. The reader needs to read top to bottom, then start again, going left to right. Also, in this format, it becomes confusing for recruiters to know where to look for key information like education or work experience. Ten resumes with two-column layouts will have their columns in ten different orders. Take a look at these two two-column resume examples, both popular layouts:

Image represents a template for a tech resume, divided into two main sections within a light-blue border.  The left section features a top area for 'Name' and 'Contact' information, followed by a 'Summary' section. Below this is a 'Work Experience' section with three rectangular placeholders for detailing past roles.  At the bottom is an 'Education' section. To the right of 'Work Experience' are sections for 'Interests' and 'Skills,' each with a single large rectangular placeholder for input. The right section includes a 'Name & Contact' area at the top, mirroring the left side. Below this are three rectangular placeholders under 'Projects,' allowing for multiple project descriptions.  Adjacent to the 'Projects' section is a 'Life Philosophy' section and a 'Toolbox' section, both with single large rectangular placeholders.  Finally, at the bottom of the right section is an 'Education' section, mirroring the left side.  The overall structure suggests a two-column layout, with sections on both sides designed to present a comprehensive overview of the candidate's background, skills, and personal attributes.  The use of rectangular placeholders indicates areas for filling in specific details.

The columns are in a different order, even compared to the first example. This makes it harder for recruiters to find the key pieces of information that they are looking for—and that is so easy to spot in the top-to-down resume format.

The biggest drawback of the two-column resume is how it discourages sharing sufficient details on your experience, both for work experience and for projects. None of the two-column designs cater for sharing several bullet points per position. None of the two-column layouts incentivize going beyond one page for your resume. This resume format is more likely to be filled with buzzwords and cliches than to describe the impact of your work with the technologies you use.

Two-column layouts can be a great choice in cases where your resume layout is part of the application, such as for design or UX positions. In industries outside of software engineering, they might also work. However, for software developers, there is no advantage to using this layout—you’ll only experience drawbacks if choosing this format.

From the inside out: resume layouts from a technical recruiter’s point of view

Chukwuemeka Ugorji is a technical recruiter who has worked at Facebook and Andela. He has seen thousands of resumes with various formats and gives his take on the benefits and drawbacks of the top-down and two-column resumes:

“I consider a resume a brief story of your career or maybe a 10 seconds ‘elevator pitch’. If you can tell the story right in 10 seconds, then you get the time to discuss more.

I consider the top-down format the most optimal for two reasons. First, it is the most organized format for easy readability. Second, it allows for easy flow of thought. It starts with what a recruiter/hiring manager is most curious about: skills & relevant experience. Hence, this format immediately answers the key questions that the hiring team has for any candidate.

The two-column layout is a double-edged sword. You need to be brief with this format. If you succeed to show that you are relevant based on your skills and work experience, you will be an easy pick candidate to advance. If not, the decision to reject will be an immediate one.

This format is like an infographic. It saves the time of the recruiter or hiring manager. However, it can hurt candidates badly if they aren't great at presenting relevant information succinctly.”

How Recruiters and Hiring Managers Scan Resumes

Before jumping into analyzing specific resume templates, let’s understand how recruiters and hiring managers scan resumes. In the first few seconds, they want to get a few key details from a resume:

  • Years of experience and dates of your employment.
  • Key technologies that are relevant for the role, and whether you have some proficiency with them.
  • Titles and companies where you worked.
  • Location where you are based right now. Are you local? Within an area that needs no visa? Somewhere where you’d likely need a visa and/or relocation?

Let’s visualize what recruiters actually see from your resume in the first few seconds. Here is the resume:

Image represents a tech resume for Edmond Smith, structured into distinct sections.  At the top, personal contact information is provided, including mailing address (TNC NT1, Cape Town), email (edmondsmith88@example.com), and website (https://EdmondSmithDev.github.io/).  Below, 'TECH STACKS' lists the candidate's programming languages/frameworks (PHP/Laravel, JavaScript/Express, Java/Kotlin for Android), databases (Postgres, MySQL, MongoDB), infrastructure (AWS), and testing tools (PHPUnit, Mockery), specifying REST as the API specification.  'WORK EXPERIENCE' details three roles:  'Cloudless, Backend Software Engineer (Remote)' (Sep 2018-present), focusing on RESTful API maintenance; 'MennoMark, Team Lead' (Sep 2017-Aug 2018), involving team management and software developer training; and 'MennoMark, Software Developer' (Jan 2018-Mar 2018), highlighting mobile app development using Kotlin and Java, along with API design and implementation using PHP/Lumen and AWS services.  'VOLUNTEER WORK' showcases leadership roles in 'Facebook Developer Circles Cape Town' and 'Cape Town Tech Meetups.'  'EDUCATION' lists a Bachelor of Science in Computer Science from Cape Town University. 'AWARDS AND ACHIEVEMENTS' include 'Developer Community Work Spotlight' and 'MasterCard Foundation Scholar.' Finally, 'SKILLS AND INTERESTS' emphasizes experience in architecture, design, software engineering tools, and object-oriented programming, and 'PERSONAL PROJECTS' describes 'bareGo,' a project focused on learning software architecture and design using Go.  Each section flows chronologically, with dates clearly indicating the duration of each role or achievement.

Here is what the recruiter will scan for in the first few seconds:

Image represents a blurred tech resume with annotations highlighting key information for assessment.  The resume's content is mostly illegible, but visible sections include 'WORK EXPERIENCE' and 'EDUCATION,' each followed by blurred lists of bullet points.  A boxed 'Cape Town' is annotated and connected by an arrow to the text '1. Location,' which is further explained as considering whether the location requires a visa or relocation.  Two further boxed years, '2018' and '2017,' are extracted from the resume's work experience section.  '2018 - present' is highlighted, indicating a current role.  These years are connected to '2. Years of experience,' which explains the calculation of experience based on the first work date or education end date, estimating 2-3 years of experience in this case.  The annotations use arrows to visually connect the extracted information from the resume to their respective interpretations.

From this first scan, the recruiter notes how the candidate has at least two years’ experience. Assuming this matches the guidance for experience from the hiring manager, they’ll keep scanning. In the next part of the scan, they will glance to see if there are relevant technologies listed, and take a glance at the titles:

Image represents a tech resume analysis diagram.  The left side shows a partially visible resume with key elements highlighted:  'Cape Town' (location), 'JavaScript' and 'Java' (programming languages), 'Backend Software Engineer' and 'Team Lead' roles at 'Cloudless' and 'MennoMar' respectively, 'Software Developer' role at 'MennoMar,' and a 'BSc' from 'Cape Town University.'  Dates (2017, 2018) are associated with work experience.  Arrows connect these elements, illustrating a career progression.  The right side contains two numbered sections: '3. Technologies,' which asks if the listed technologies align with a hiring manager's needs, and '4. Titles & companies,' which prompts reflection on career progression and notable companies or education.  The diagram visually links the resume's content (technologies, roles, companies, education, and dates) to questions about its effectiveness in a job application context.

After this scan, the recruiter has the following details:

  • Location of where you are based right now
  • Years of experience
  • Key technologies that are relevant for the role
  • Titles and companies where you worked

If most of these match what the job requires, the recruiter will now start to read your resume, top to bottom. They will still only do a short scan, looking for anything relevant for the role, or that grabs their attention:

Image represents a stylized tech resume, visually highlighting key information for quick review.  The top shows 'Cape Town' indicating location.  Below, 'TECH STACKS' lists 'Programming Languages' with 'JavaScript,' 'AWS,' and 'Java' prominently displayed, followed by 'Testing.'  The 'WORK EXPERIENCE' section features chronologically ordered blocks:  'Re-architected' (as Engineer, 2018), 'Managed a team' (as Team Lead at MennoMar, 2018), 'Built an app' (as Software Developer at MennoMar, using Kotlin, 2018), and 'Designed an API' (using PHP, 2018).  Dates are clearly marked.  The 'EDUCATION' section shows 'Cape Town University' and 'BSc' with a 'Scholarship' highlight.  Finally, 'PERSONAL PROJECTS' lists 'SOLID' and 'Design patterns' along with 'bareGo.'  To the right, annotations explain a typical resume review process ('Few second scan, top to bottom,' 'How good of a fit would this person be for this role?') and summarizes the resume's content ('In this case: a variety of experiences. Both mobile & backend experiences. Mentions of some best practices.').  The overall arrangement is top-down, chronologically organizing work experience and highlighting key skills and projects using visual cues like boxes and bold text.

Only after this scan would the recruiter or hiring manager look at the second page, or read more in-depth. This assumes that what they have seen matches what they are looking for—or they’ve found enough standout information in other areas. These would indicate this candidate could be worth spending more time on, even if they don’t have every requirement that the hiring manager is looking for.

A good template simply makes these key pieces of information very easy to find—and it can also guide the attention of the recruiter to a few additional pieces of information. This means that the recruiter gets all this information much quicker, and they can spend more time actually reading the information you want to share with them.

A good resume is a combination of an easy-to-read template and easy-to-digest content specific to the role you are applying for.

The Results of Using a Good Resume Template

Let’s take a look at how a good template can help visualize key pieces of information. Here is the updated resume, using a different top-to-bottom template. The resume contents have also been updated, applying the practices in this book, like being more specific on the impact of the candidate’s work.

Image represents a tech resume for Edmond Smith, located in Cape Town, South Africa, with contact information including email (edmondsmith88@example.com) and a website link.  The resume is structured into sections:  'TECHNOLOGIES AND LANGUAGES' lists his proficiencies (PHP, JavaScript, Java, Kotlin, Android, Angular, Laravel, etc.), 'WORK EXPERIENCE' details his roles as a Backend Software Engineer at Cloudless (Sep 2018-present), focusing on improving customer conversion and API architecture, and as a Development Team Lead at MennoMark (Jan 2017-Aug 2018), where he led teams building multiple apps and services, including those using Kotlin, Java, and various databases and APIs.  The 'EDUCATION' section shows a Bachelor of Science in Computer Science from Cape Town University (2013-2017), including a scholarship mention. Finally, 'PROJECTS AND VOLUNTEER WORK' highlights his community leadership at Facebook Developer Circles, and personal projects like BareGo (a Go framework) and a REST API built with Node.js, with source code available on GitHub, and technical blogging on Dev.to.  The entire document flows chronologically, starting with contact information, followed by skills, work experience (most recent first), education, and finally personal projects.  Specific project details, technologies used, and quantifiable achievements are provided throughout.

In the first scan, the recruiter will look for the same pieces of information as before. However, these are all much easier to find, as they stand out clearly:

Image represents a tech resume diagram highlighting key elements for effective presentation.  The diagram shows a partially blurred sample resume with annotations.  The top section displays 'Cape Town, South Africa' (location) and a list of 'TECHNOLOGIES AND LANGUAGES' (PHP, JavaScript, Java, Kotlin, Android, Angular).  Below, the 'WORK EXPERIENCE' section lists two roles: 'Backend Software Engineer' at 'Cloudless' (Sep 2018 - present) and 'Development Team Lead' at 'MennoMark' (Jan 2017 - Aug 2018).  Further down, 'EDUCATION' shows 'Cape Town University' (2013-2017), and 'PROJECTS AND VOLUNTEER WORK' is also visible but blurred.  Arrows connect these sections to four numbered annotations on the right: '1. Location - Immediately clear,' indicating the location's prominence; '2. Years of experience - All dates stand out,' emphasizing the clear presentation of dates; '3. Technologies - Relevant ones for this role are in listed upfront,' highlighting the importance of upfront technology listing; and '4. Titles & companies - Clearly standing out,' pointing to the visibility of job titles and company names.  The overall structure demonstrates how to arrange resume components for optimal readability and impact.

The recruiter does not need to actively search for any of this information and they get all of this at the first glance. This means that they have more time to spend on actually reading the resume. And, as the content is well written, this is an easier task as well:

Image represents a tech resume example analyzed for readability and impact.  The top section lists 'TECHNOLOGIES AND LANGUAGES,' including PHP, JavaScript, Java, Kotlin, and various frameworks and tools.  Below, 'WORK EXPERIENCE' details two roles: Backend Software Engineer at Cloudless (Sep 2018-present), highlighting 'Improved conversion by 30%' and 'Re-architected,' and Development Team Lead at MennoMark (Jan 2017-Aug 2018), emphasizing 'Led a team of 3,' 'Built an app' (using Kotlin, Java, and SQLite), and 'Designed API used by 10 apps' (using PHP and AWS).  The 'EDUCATION' section shows Cape Town University, mentioning a scholarship.  'PROJECTS AND VOLUNTEER WORK' lists several projects, including one involving 500 developers and 30+ events, and the creation of scalable server-side apps using HATEOAS, caching, and content negotiation.  An article on Angular and Clean Code is also mentioned.  To the right, text explains the recruiter's quick scan process ('Few second scan, top to bottom'), emphasizing the immediate impact of quantifiable achievements (like '30%') and the ease of reading the resume's structured format.

The difference between a resume with a good template and good content and one without is how likely it is that the recruiter will get the information you are trying to convey. When you use a format that is harder to read, the recruiter will have to work hard. This means that your chances will be down to luck. If the recruiter reads your resume as one of the first of 100+ applications, they will probably take more time. However, if it comes later, they might just set it aside, as they are getting tired and are under time pressure.

With a well-written resume, even recruiters that are tired or in a hurry will get the information they need. With that, let’s look at specific resume templates: both ones that we’d recommend developers to use, as well as analyzing why some popular ones do not work that well.

Recap: Good Resume Template Principles

In this chapter, we went through what characteristics good developer resume templates share, and why. When choosing a resume template, aim to have them satisfy these principles:

  • Top to bottom reading. Easy-to-read templates can be scanned in one go, from top to bottom.
  • Single column layout. Two-column and multi-column layouts can look neat, but they are more difficult for recruiters to read. These layouts also make it harder to share enough information about your work experience and projects. A single-column layout has none of these drawbacks.
  • Important things first, less important things towards the end. Things relevant for the position should be towards the top; choose sections accordingly.
  • Strategic use of colors and bolding. Use bolding and colors to draw attention—and do this consistently.
ask alexask alex expend